package controllers;

import java.util.ArrayList;
import java.util.List;

import dao.FachadaDAO;
import dao.fachada.FachadaUsuarioDAO;

import models.CarrinhoCompra;
import models.Produto;
import models.Usuario;
import play.cache.Cache;
import play.mvc.Controller;
import play.mvc.Scope.Session;

public class Carrinho extends Controller {

	public static void addProdutoNoCarrinho(Produto produto) {
		Usuario usuario = new Usuario();
		
		Session session = Session.current();
		String id = session.get("idUsuario");
		System.out.println("--->> " + id);
		
		try {
			usuario.setId(Integer.parseInt(id));
		} catch (Exception e) {
			render("Produtos/visualizar.html", produto);
		}

		if (usuario != null && usuario.getId() > 0) {

			FachadaUsuarioDAO fachadaDAO = FachadaUsuarioDAO.getInstance();

			fachadaDAO.inserirProdutoCarrinho(usuario.getId(), produto.getId(),1);

			
		}

		render("Produtos/visualizar.html", produto);
	}

	public static void mostrarCarrinho() {
		Usuario usuario = new Usuario();//(Usuario) Cache.get("usuario");
		
		Session session = Session.current();
		String id = session.get("idUsuario");
		System.out.println("--->> " + id);
		
		try {
			usuario.setId(Integer.parseInt(id));
		} catch (Exception e) {
			Teste.teste();
		}

		if (usuario != null && usuario.getId() > 0) {
			FachadaUsuarioDAO fachadaDAO = FachadaUsuarioDAO.getInstance();
			CarrinhoCompra carrinhoCompra = new CarrinhoCompra();
			carrinhoCompra.setUsuario(usuario);
			carrinhoCompra.setListaProdutos(fachadaDAO.listarProdutosCarrinhoUsuario(usuario.getId())); 
			
			List<Produto> listaProduto = carrinhoCompra.getListaProdutos();

			render("Produtos/carrinho/vercarrinho.html", listaProduto,
					carrinhoCompra);
		}

	}
	
	public static void excluirProduto(String id_produto){
		//Usuario usuario = (Usuario) Cache.get("usuario");
		
		Usuario usuario = new Usuario();//(Usuario) Cache.get("usuario");
		
		Session session = Session.current();
		String id = session.get("idUsuario");
		System.out.println("--->> " + id);
		
		usuario.setId(Integer.parseInt(id));

		if (usuario != null && usuario.getId() > 0) {	
			FachadaUsuarioDAO fachadaDAO = FachadaUsuarioDAO.getInstance();
			fachadaDAO.excluirProdutoCarrinhoUsuario(usuario.getId()+"",id_produto);
			mostrarCarrinho();
		}
			
	}

}
